#ifndef __LUA_MONGO_DB_INTERFACE_H__
#define __LUA_MONGO_DB_INTERFACE_H__
#include "../common/Lunar.h"
#include <cassert>
#include "MongoDBInterface.h"
class LuaMongoDB
{
    public:
        LuaMongoDB(lua_State* L) 
        {
            m_pMongoDBInterface = new MongoDBInterface();
        };   
        ~LuaMongoDB()
        {
            printf("LuaMongoDB into Delete\n");
        }
        int Connect(lua_State* pL);
        int Insert(lua_State* pL);
        int Delete(lua_State* pL);
        int Find(lua_State* pL);
        int Update(lua_State* pL);
        int Count(lua_State* pL);
        int EnsureIndex(lua_State* pL);
        int DropIndex(lua_State* pL);
        const static char className[];
        static Lunar<LuaMongoDB>::RegType methods[];
    private:    
        MongoDBInterface* m_pMongoDBInterface; 
};
#endif //__LUA_MONGO_DB_INTERFACE_H__
